// 优化1: 添加基准地址
axios.defaults.baseURL = 'http://api-breakingnews-web.itheima.net'

// 优化2：添加请求拦截器
// 场景：按需添加token
axios.interceptors.request.use(function (config) {
  if (config.url.startsWith('/my')) {
    config.headers.Authorization = localStorage.getItem('token')
  }
  return config
})

// 优化3：添加响应拦截器
// 场景：处理token失效问题
axios.interceptors.response.use(function (response) {
  if (response.data.status === 1 && response.data.message === '身份认证失败！') {
    localStorage.removeItem('token')
    window.parent.location.href = '/login.html'
  }
  return response
})

// 成功msg提示
// 参数：成功的信息、成功的回调
function successMsg(message, callback) {
  layer.msg(
    message,
    {
      icon: 1,
      time: 2000 //2秒关闭（如果不配置，默认是3秒）
    },
    function () {
      callback && callback()
    }
  )
}
// 失败msg提示
// 参数：失败的信息、失败的回调
function errorMsg(message, callback) {
  layer.msg(
    message,
    {
      icon: 2,
      time: 2000 //2秒关闭（如果不配置，默认是3秒）
    },
    function () {
      callback && callback()
    }
  )
}

// 封装1：注册
function myRegister(data, callback) {
  axios.post('/api/reguser', data).then(res => {
    callback && callback(res)
  })
}

// 封装2：登录
function myLogin(data, callback) {
  axios.post('/api/login', data).then(res => {
    callback && callback(res)
  })
}

// 获取个人信息
function myUserInfo(callback) {
  axios.get('/my/userinfo').then(res => {
    callback && callback(res)
  })
}
// 修改个人信息
function editUserInfo(data, callback) {
  axios.post('/my/userinfo', data).then(res => {
    callback && callback(res)
  })
}

// 修改密码
function updatePwd(data, callback) {
  axios.post('/my/updatepwd', data).then(res => {
    callback && callback(res)
  })
}

// 上传图片，更换头像
function updateAvatar(data, callback) {
  axios.post('/my/update/avatar', data).then(res => {
    callback && callback(res)
  })
}

// 获取文章分类
function articleCates(callback) {
  axios.get('/my/article/cates').then(res => {
    callback && callback(res)
  })
}

// 添加文章分类页面
function addCates(data, callback) {
  axios.post('/my/article/addcates', data).then(res => {
    callback && callback(res)
  })
}

// 编辑文章分类
function updateCate(data, callback) {
  axios.post('/my/article/updatecate', data).then(res => {
    callback && callback(res)
  })
}

// 删除文章分类
function deleteCate(id, callback) {
  axios.get(`/my/article/deletecate/${id}`).then(res => {
    callback && callback(res)
  })
}

// 新增文章
function articleAdd(fd, callback) {
  axios.post('/my/article/add', fd).then(res => {
    callback && callback(res)
  })
}

// 文章列表展示
function articleListd(query, callback) {
  axios.get(`/my/article/list`, { params: query }).then(res => {
    callback && callback(res)
  })
}

// 删除文章列表
function articleDel(id, callback) {
  axios.get(`/my/article/delete/${id}`).then(res => {
    callback && callback(res)
  })
}
